package com.dkm.orproject.dkmoa.dao;

import com.dkm.orproject.dkmoa.domain.OaOfficeSupplies;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface OaOfficeSuppliesMapper {
    /**
     * 根据id删除
     * @param pkOfficeSuppliesId 办公用品id
     * @return 回调函数
     */
    int deleteByPrimaryKey(Long pkOfficeSuppliesId);

    /**
     * 增加办公用品
     * @param record 办公用品模型
     * @return 回调函数
     */
    int insertSelective(OaOfficeSupplies record);

    /**
     * 根据id 查询办公用品
     * @param pkOfficeSuppliesId 办公用品id
     * @return 办公用品模型
     */
    OaOfficeSupplies selectByPrimaryKey(Long pkOfficeSuppliesId);

    /**
     * 更新办公用品的信息
     * @param record 办公用品模型
     * @return 回调函数
     */
    int updateByPrimaryKeySelective(OaOfficeSupplies record);

    /**
     * 查询所有
     * @param oaOfficeSupplies 办公用品
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 回调函数
     */
    List<OaOfficeSupplies> findAll(@Param(value = "oaOfficeSupplies") OaOfficeSupplies oaOfficeSupplies, @Param(value ="startDate")String startDate, @Param(value ="endDate") String endDate);

    /**
     * 统计数量
     * @param oaOfficeSupplies 办公用品实体类
     * @param startDate 开始时间
     * @param endDate 结束时间
     * @return 回调函数
     */
    Long countAll(@Param(value ="oaOfficeSupplies") OaOfficeSupplies oaOfficeSupplies,@Param(value ="startDate")String startDate,@Param(value ="endDate")String endDate);

    /**
     * 批量删除
     * @param ids 办公用品ids
     * @return 回调函数
     */
    int deleteAll(List<Long> ids);

    /**
     * 为批量删除（做准备数据备份)
     * @param ids 办公用品ids
     * @return 回调函数
     */
    List<OaOfficeSupplies> findByAll(List<Long> ids);

    /**
     * 为办公用品的编号
     * @return 回调函数
     */
    int count();
}